package com.tinem.platform.module.pojo.vo.channel;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @author fzh
 * @version v1
 * @program: platform
 * @className ClientChannelSecurity
 * @description 客户端安全配置表
 * @site
 * @company
 * @create 2021-11-2
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("客户端安全配置表")
public class ClientChannelSecurityInfo implements Serializable,Cloneable{

    @ApiModelProperty(name = "id", value = "编号",required = true)
    private String id;

    @ApiModelProperty(name = "reqSign", value = "请求是否签名",required = true)
    private Boolean reqSign;

    @ApiModelProperty(name = "reqSignType", value = "请求签名算法",required = true)
    private com.tinem.platform.module.pojo.enums.security.SignatureAlgorithm reqSignType;

    @ApiModelProperty(name = "reqSignKey", value = "请求签名KEY",required = true)
    private String reqSignKey;

    @ApiModelProperty(name = "resSign", value = "返回是否签名",required = true)
    private Boolean resSign;

    @ApiModelProperty(name = "resSignType", value = "返回签名算法",required = true)
    private com.tinem.platform.module.pojo.enums.security.SignatureAlgorithm resSignType;

    @ApiModelProperty(name = "resSignKey", value = "返回签名KEY",required = true)
    private String resSignKey;

    @ApiModelProperty(name = "reqCrypto", value = "请求是否加密",required = true)
    private Boolean reqCrypto;

    @ApiModelProperty(name = "reqCryptoType", value = "请求解密算法",required = true)
    private com.tinem.platform.module.pojo.enums.security.EncryptionAlgorithm reqCryptoType;

    @ApiModelProperty(name = "reqCryptoPuk", value = "请求解密公钥证书",required = false)
    private String reqCryptoPuk;

    @ApiModelProperty(name = "reqCryptoKey", value = "请求解密KEY",required = true)
    private String reqCryptoKey;

    @ApiModelProperty(name = "reqCryptoIv", value = "请求解密IV",required = true)
    private String reqCryptoIv;

    @ApiModelProperty(name = "resCrypto", value = "返回是否加密",required = true)
    private Boolean resCrypto;

    @ApiModelProperty(name = "resCryptoType", value = "返回加密算法",required = true)
    private com.tinem.platform.module.pojo.enums.security.EncryptionAlgorithm resCryptoType;

    @ApiModelProperty(name = "resCryptoPpk", value = "返回加密私钥证书",required = false)
    private String resCryptoPpk;

    @ApiModelProperty(name = "resCryptoKey", value = "返回加密KEY",required = true)
    private String resCryptoKey;

    @ApiModelProperty(name = "resCryptoIv", value = "返回加密IV",required = true)
    private String resCryptoIv;

    @ApiModelProperty(name = "revision", value = "乐观锁",required = false)
    private Integer revision;

    @ApiModelProperty(name = "createdBy", value = "创建人",required = false)
    private String createdBy;

    @ApiModelProperty(name = "createdTime", value = "创建时间",required = false)
    private Date createdTime;

    @ApiModelProperty(name = "updatedBy", value = "更新人",required = false)
    private String updatedBy;

    @ApiModelProperty(name = "updatedTime", value = "更新时间",required = false)
    private Date updatedTime;

}